package br.com.k19.actions;

import java.util.List;

import javax.persistence.EntityManager;

import org.apache.struts2.ServletActionContext;

import br.com.k19.dao.HibernateDAO;
import br.com.k19.dao.InterfaceDAO;
import br.com.k19.model.Partido;

import com.opensymphony.xwork2.ActionSupport;

public class PartidoAction extends ActionSupport {
	private static final long serialVersionUID = 1L;

	private Partido partido = new Partido();
	private List<Partido> partidos;
	InterfaceDAO<Partido> dao = new HibernateDAO<>(null, Partido.class);

	public String adiciona() {
		dao.setManager(getEntityManager());
		dao.adiciona(partido);
		this.partido = new Partido();
		return SUCCESS;
	}

	public String remove() {
		dao.setManager(getEntityManager());
		dao.remove(this.partido.getId());
		this.partido = new Partido();
		return SUCCESS;
	}

	public String lista() {
		dao.setManager(getEntityManager());
		this.partidos = dao.lista();
		return SUCCESS;
	}

	private EntityManager getEntityManager() {
		return (EntityManager) ServletActionContext.getRequest().getAttribute("EntityManager");
	}

	public Partido getPartido() {
		return partido;
	}

	public void setPartido(Partido partido) {
		this.partido = partido;
	}

	public List<Partido> getPartidos() {
		return partidos;
	}

	public void setPartidos(List<Partido> partidos) {
		this.partidos = partidos;
	}
}
